#include<iostream>
#include<algorithm>
using namespace std;
namespace bit
{
	class string

	{

	public:

		string(const char* str = "")
		{
			int size = sizeof(&str);
			_str = new char[size];
			for (int i = 0; i < size; i++)
			{
				_str[i] = str[i];
			}
		}

		void swap(string& s)
		{
			::swap(_str, s._str);
		}

		string(const string& s)
		{
			string temp(s._str);
			swap(temp);
		}

		string& operator=(const string& s)
		{
			string temp(s);
			swap(temp);
			return *this;
		}

		~string()
		{
			delete[] _str;
		}

		void string_print()
		{
			char* str = _str;

			while (*str)
			{
				cout << *str;
				str++;
			}
			cout << endl;
		}
	private:

		char* _str;
	};
};
int main()
{
	bit::string nums("123456");
	nums.string_print();
	bit::string nums1 = nums;
	nums1.string_print();
	bit::string nums2("654321");
	nums1=nums = nums2;
	nums.string_print();
	nums1.string_print();
	return 0;
}